const http = require('http');
// 创建server对象，监听端口3000
const server = http.createServer(async (req,res)=>{
    res.setHeader('Content-Type', 'application/json');// 设置响应头，告诉浏览器返回的是json格式的数据

    if (req.method === 'GET'){
        if(req.url === '/api/hello'){
            res.end(JSON.stringify({ message: 'Hello, API!'}));
        }
    }

    if (req.method === 'POST' && req.url === '/api/greet'){
        let body = '';
        req.on('data',(chunk)=>{// 监听data事件，当有数据到达时，会触发data事件，chunk是数据的一部分
            body += chunk.toString();// 将数据转换为字符串，拼接到body中
        });

        req.on('end',()=>{// 监听end事件，当数据接收完成时，会触发end事件
            const data = JSON.parse(body);// 将body转换为json对象，data是请求体中的数据
            const { name } = data;// 解构赋值，从data中取出name属性，name是请求体中的数据
            res.end(JSON.stringify({ message: `Hello, ${name}!`}));// 告诉浏览器要给顾客的内容
        });
    }
    // 我通过postman发送一个post请求，请求体是{"name":"John"}，浏览器会返回{"message":"Hello, John!"}
    // 网址应该输入
})

server.listen(3000)